namespace Core {
    export interface IBaseView {

        isInit(): boolean;

        isShow(): boolean;

        addToParent(): void;

        removeFromParent(): void;

        initUI(): void;

        initData(): void;

        open(...param: any[]): void;

        close(...param: any[]): void;

        destroy(): void;

        applyFunc(key: any, ...param: any[]): any;

        applyControllerFunc(controllerKey: number, key: any, ...param: any[]): any;

        setVisible(value: boolean): void;

        setResources(resources: string[]): void;

        loadResource(loadComplete: Function, initComplete: Function): void;
    }
}